﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Ditto.Models
{
    public class FriendStatus
    {
        public enum StatusType { None = 0, Requested = 1, Requesting = 2, Confirmed = 3};

        public string FriendID { get; private set; }
        public StatusType Type { get; set; }
        public FriendStatus(string friendID)
        {
            this.FriendID = friendID;
            this.Type = StatusType.None;
        }

        public override string ToString()
        {
            switch (Type)
            {
                case StatusType.None:
                    break;
                case StatusType.Requested:
                    break;
                case StatusType.Requesting:
                    break;
                case StatusType.Confirmed:
                    break;
                default:
                    break;
            }

            throw new NotImplementedException();
        }
    }


    public class Reputation
    {
        public double Rating { get; set; }

        public int ItemsReturned { get; set; }

        public int ItemsLent { get; set; }
        public int ItemsGifted { get; set; }
        public int ItemsRented { get; set; }
        public int ItemsSold { get; set; }

        public int VolumeTransacted { get; set; }
        public double ValueTransacted { get; set; }

        public int CountOfFriends { get; set; }
        public int CountOfMutualFriends { get; set; }
        public bool HasFacebookAccount { get; set; }

        public int Badge { get; set; }
        public string LevelStatus { get; set; }
    }

    public class Friends : List<User>
    {
        public Friends(List<User> friends) : base(friends)
        {

        }
    }

    public class UserSummary
    {
        public Image Photo { get; set; }
        public string GivenName { get; set; }
        public string FullName { get; set; }
        public DateTime LastLoggedIn { get; set; }
        public int CountOfFriends { get; set; }
        public int CountOfItems { get; set; }
    }

    public class History : List<Transaction>
    {

    }

    public class UserRequests : List<UserRelationship>
    {
        public UserRequests(IEnumerable<UserRelationship> requests) : base(requests) { }
    }


}